package com.money.tracker.auth.service;


import com.money.tracker.auth.entity.req.LoginReq;
import com.money.tracker.auth.entity.rsp.CaptChaRsp;
import com.money.tracker.auth.entity.rsp.LoginRsp;
import com.money.tracker.auth.entity.rsp.UserInfoRsp;

/**
 * <p>
 * 登录接口
 * <p>
 *
 * @author zhangshuai
 * &#064;@date 2024/09/25
 */
public interface SysLoginService {

    /**
     * 登录接口
     *
     * @param loginReq
     * @return
     */
    LoginRsp login(LoginReq loginReq);

    /**
     * 退出接口
     */

    void logout();


    /**
     * 获取验证码
     *
     * @return
     */
    CaptChaRsp getCode();

    /**
     * 发送电子邮件
     *
     * @param loginReq 登录 req
     */
    void sendEmail(LoginReq loginReq);

    /**
     * 注册
     *
     * @param req 要求
     */
    LoginRsp register(LoginReq req);

    UserInfoRsp getUserDetail();
}
